Enable configuring Emacs for "pseudo-grayscale" systems on Android
authorPo Lu <luangruo@yahoo.com>
Tue, 23 Apr 2024 07:57:45 +0000 (15:57 +0800)
committerPo Lu <luangruo@yahoo.com>
Tue, 23 Apr 2024 07:57:45 +0000 (15:57 +0800)
commitcd7456e00d719d32c203c71b4e23c98b0c4e1967
tree496bdb8d0a1f49aa4668d68c08e2f9309fd1868a
parentb9c191d690fd5d1480858469df23cc4509996fae
Enable configuring Emacs for "pseudo-grayscale" systems on Android

* doc/emacs/android.texi (Android Windowing): Document how to
configure Emacs for monochrome displays.

* src/androidfns.c (Fx_display_visual_class): Return
Qstatic_gray when n_planes is smaller than 24.
(Fandroid_get_connection): Set n_planes by the value of
android_display_planes.
(syms_of_androidfns): <Qstatic_gray>: New function.

* src/androidterm.c (android_alloc_nearest_color): Allocate
monochrome colors similarly to the X server.
(android_query_colors): Fix typos.
(android_draw_fringe_bitmap): Create bitmaps of n_image_planes
depth.
(android_term_init): Initialize n_image_planes to 24.
(syms_of_androidterm) <android_display_planes>: New variable.

* src/androidterm.h (struct android_display_info): New field
`n_image_planes'.

* src/image.c (n_planes) [HAVE_ANDROID]: Define to
n_image_planes.
doc/emacs/android.texi
src/androidfns.c
src/androidterm.c
src/androidterm.h
src/image.c